Загрузка исторических данных в понедельник
Задача простая - мы "разогреваем" стратегию, подгружая исторические данные перед стартом, чтобы сформировались индикаторы.
Для этого добавляем к realtime данным исторические данные из гидры.
Code
candleManager = new CandleManager(new TradeCandleBuilderSource(connector));
var cbs = new TradeStorageCandleBuilderSource { StorageRegistry = storageRegistry };
candleManager.Sources.OfType<TimeFrameCandleBuilder>().Single().Sources.Add(cbs);
candleSeries = new CandleSeries(typeof(TimeFrameCandle), security, timeFrame);
candleSeries.ProcessCandle += Draw;
int numHistDays = DateTime.Today.DayOfWeek.ToString() == "Monday" ? 3 : 1;
candleManager.Start(candleSeries, DateTime.Now - TimeSpan.FromDays(numHistDays), DateTime.MaxValue);
Т.е. в любой день недели мы запрашиваем данные за прошлый торговый день из хранилища. Но в понедельник, так как было 2 выходных, это не работает, т.к. надо запросить данные из пятничных торгов.
В теории кусок кода выше должен работать. Но в реальности, почему-то данные за пятницу ни при каких условиях не подкачиваются (либо подкачиваются но не отображаются на графике), хотя обращение к файлам идет:
Code
FileAccess: N:\Hydra MarketData\R\RIM4@FORTS\2014_04_04\trades.bin
FileAccess: N:\Hydra MarketData\R\RIM4@FORTS\2014_04_05\trades.bin
FileAccess: N:\Hydra MarketData\R\RIM4@FORTS\2014_04_06\trades.bin
FileAccess: N:\Hydra MarketData\R\RIM4@FORTS\2014_04_07\trades.bin